package com.mk.datapower.annotation;

import com.mk.datapower.enums.ApiDataPowerMethodEnum;
import com.mk.datapower.enums.ApiDataPowerServerEnum;
import com.mk.datapower.enums.ApiDataPowerTableEnum;

import java.lang.annotation.*;

/**
 * @Author: peisong.chen
 * @Date: 2019/9/16
 * @description: 该注解加在方法上，即可被切面注入
 */
@Documented
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface APIDataPower {
    /**
     * 指定数据来源于哪个微服务模块
     * @return
     */
    ApiDataPowerServerEnum source();

    /**
     * 存储字段数据权限的表名
     * @return
     */
    ApiDataPowerTableEnum tableName();

    /**
     * 指定该方法是返回详情还是list
     * @return
     */
    ApiDataPowerMethodEnum method();
}
